Formal Aspects of Computing Protective Interface Specifications ∗
نویسندگان
چکیده
The interface specification of a procedure describes the procedure’s behaviour using preand postconditions. These preand postconditions are written using various functions. If some of these functions are partial, or underspecified, then the procedure specification may not be well-defined. We show how to write preand postcondition specifications that avoid such problems, by having the precondition “protect” the postcondition from the effects of partiality and underspecification. We formalize the notion of protection from partiality in the context of specification languages like VDM-SL and COLD-K. We also formalize the notion of protection from underspecification for the Larch family of specification languages, and for Larch show how one can prove that a procedure specification is protected from the effects of underspecification.
منابع مشابه
BCS Formal Aspects of Computing Protective Interface Specifications ∗
The interface specification of a procedure describes the procedure’s behaviour using preand postconditions. These preand postconditions are written using various functions. If some of these functions are partial, or underspecified, then the procedure specification may not be well-defined. We show how to write preand postcondition specifications that avoid such problems, by having the preconditi...
متن کاملInterface Theories for (A)synchronously Communicating Modal I/O-Transition Systems
Interface specifications play an important role in component-based software development. An interface theory is a formal framework supporting composition, refinement and compatibility of interface specifications. We present different interface theories which use modal I/O-transition systems as their underlying domain for interface specifications: synchronous interface theories, which employ a s...
متن کاملFormal specification of the JavaCard API in JML: the APDU class
This paper reports on an effort to increase the reliability of JavaCard-based smart cards by means of formal specification and verification of JavaCard source code. As a first step, formal interface specifications, written in the specification language JML, have been developed for all the classes that make up the JavaCard API. These specifications are “lightweight” in the sense that they are in...
متن کاملStrauss: a Specification Miner
Program verification tools (such as model checkers) are powerful tools for finding errors in programs. Unfortunately, these tools need lots of formal specifications of correct program behavior. Can we really expect programmers to write all of these specifications by hand? This dissertation is about Strauss, a tool I wrote to bring automation to specification-writing. By observing traces of work...
متن کاملProving Component Interoperability with B Refinement
We use the formal method B for specifying interfaces of software components. Each component interface is equipped with a suitable data model defining all types occurring in the signature of interface operations. Moreover, preand postconditions have to be given for all interface operations. The interoperability between two components is proved by using a refinement relation between an adaptation...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1999